#ifndef TEST_F92F4UJF

#define TEST_F92F4UJF

#include <vector>

#include "Matrix.h"

bool test();
double optimalRobinsonMatrix(const Matrix &m);
double approximation(Matrix m, std::vector<unsigned int> &order);
double optimalRobinsonMatrixPrint(const Matrix &m);
/**
 * @brief generaters a dissimilarity matrix based on a knwon robinsonian matrix, a delta, and
 *  the permutations
 * @param robinsonMatrix - the robinsonian matrix
 * @param delta - the maximal distances beetween the dissimilarity matrix and the robinson matrix
 * @param permutations - must have size 0 or equal to the size of m
 * @return the dissimilarity matrix
 */

Matrix generateTestMatrix( const Matrix &robinsonMatrix );
Matrix generateTestMatrix( const Matrix &robinsonMatrix, double delta );
Matrix generateTestMatrix( const Matrix &robinsonMatrix, std::vector<unsigned int> &permutations, double delta = 0 );

#endif /* end of include guard: TEST_F92F4UJF */
